// IntersectionObserver 主要监听是否在视口内
// MutationObserver 主要监听子集的变化，还有属性的变化 以及 增删改查

import type { App } from "vue";

// ResizeObserver 主要监听元素宽高的变化
function useResize(el:HTMLElement,callback:Function){
    let resize = new ResizeObserver((enteies)=>{
        callback(enteies[0]);
    })
    resize.observe(el)
}

const install=(app:App)=>{

    app.directive('resize',{
        mounted(el,binding){
            useResize(el,binding.value)
        }
    })

}

useResize.install = install


export default useResize